package com.hxzy.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hxzy.dto.SysDictDataSearchDTO;
import com.hxzy.entity.SysDictData;

import java.util.List;

/**
 * 字典明细
 */
public interface SysDictDataService extends IService<SysDictData> {

    /**
     * 根据类型查询值
     * @param dictType
     * @return
     */
    List<SysDictData> findByDictType(String dictType);

    /**
     * 加载所有的sys_dict_data数据到redis缓存中
     */
    void loadAllDictDataToRedis();

    /**
     * 清空所有redis中存放到sys_dict_data数据
     */
    void clearDictDataToRedis();

    /**
     * 根据dict_type删除redis中缓存
     * @param dictType
     */
    void clearDictDataToRedisByDictType(String dictType);

    /**
     * 根据dict_type查询出来写入到redis中
     * @param dictType
     * @return 返回查询的结果
     */
    List<SysDictData> loadDictDataByDictTypeToRedis(String dictType);

    /**
     * 分页查询
     * @param dto
     * @return
     */
    IPage<SysDictData> findByDictTypePage(SysDictDataSearchDTO dto);
}
